A scaled-out, distributed application generally refers to an application with multiple interconnected components that communicate over one or more networks according to specific rules. Software-defined networking (SDN) controller is an approach to computer networking which allows network administrators to manage network services through abstraction of lower level functionality. This is done by decoupling the system that makes decisions about where traffic is sent (the control plane) from the underlying systems that forwards traffic to the selected destination (the data plane). With SDN controller, network intelligence and state are logically centralized and the underlying network infrastructure is abstracted from the applications. In such abstractions, the underlying data planes can take different forms and can be of different technologies altogether. Different data planes may have different capabilities such as amount of bandwidth, lossless forwarding, type of service identification and forwarding. In today's data center, silicon switches are widely used. They mostly have fixed configurations based on switching chipsets and add considerable latency due to look-ups, store & forward and queuing latencies.
Data flows between end points or hosts can be short or long and sustained. The short lived flows may be referred to as mice flows and the long-sustained flows may be referred to as elephant flows due to their sizes in number of bytes and the amount of bandwidth they consume.
In some cases, an SDN may be used to configure data flows between hypervisors. A hypervisor is software running on a particular hardware platform that enables multiple operating systems (OSs) (e.g., virtual machines) to run on the platform at the same time. This feature may be accomplished by “virtualizing,” or hiding technical details, of a computer resource from users of that resource. Virtualization may create the appearance to end users or other resources that a single computer resource functions as multiple virtual resources or that multiple physical resources appear as a single virtual resource.